home *** CD-ROM | disk | FTP | other *** search
- package java.awt;
-
- import java.awt.peer.ContainerPeer;
- import java.io.PrintStream;
-
- public abstract class Container extends Component {
- int ncomponents;
- Component[] component = new Component[4];
- LayoutManager layoutMgr;
-
- Container() {
- }
-
- public int countComponents() {
- return this.ncomponents;
- }
-
- public synchronized Component getComponent(int var1) {
- if (var1 >= 0 && var1 < this.ncomponents) {
- return this.component[var1];
- } else {
- throw new ArrayIndexOutOfBoundsException("No such child: " + var1);
- }
- }
-
- public synchronized Component[] getComponents() {
- Component[] var1 = new Component[this.ncomponents];
- System.arraycopy(this.component, 0, var1, 0, this.ncomponents);
- return var1;
- }
-
- public Insets insets() {
- ContainerPeer var1 = (ContainerPeer)super.peer;
- return var1 != null ? var1.insets() : new Insets(0, 0, 0, 0);
- }
-
- public Component add(Component var1) {
- return this.add(var1, -1);
- }
-
- public synchronized Component add(Component var1, int var2) {
- if (var2 <= this.ncomponents && (var2 >= 0 || var2 == -1)) {
- if (var1 instanceof Container) {
- for(Container var3 = this; var3 != null; var3 = var3.parent) {
- if (var3 == var1) {
- throw new IllegalArgumentException("adding container's parent to itself");
- }
- }
- }
-
- if (var1.parent != null) {
- var1.parent.remove(var1);
- }
-
- if (this.ncomponents == this.component.length) {
- Component[] var4 = new Component[this.ncomponents * 2];
- System.arraycopy(this.component, 0, var4, 0, this.ncomponents);
- this.component = var4;
- }
-
- if (var2 != -1 && var2 != this.ncomponents) {
- System.arraycopy(this.component, var2, this.component, var2 + 1, this.ncomponents - var2);
- this.component[var2] = var1;
- ++this.ncomponents;
- } else {
- this.component[this.ncomponents++] = var1;
- }
-
- var1.parent = this;
- ((Component)this).invalidate();
- if (super.peer != null) {
- var1.addNotify();
- }
-
- return var1;
- } else {
- throw new IllegalArgumentException("illegal component position");
- }
- }
-
- public synchronized Component add(String var1, Component var2) {
- Component var3 = this.add(var2);
- LayoutManager var4 = this.layoutMgr;
- if (var4 != null) {
- var4.addLayoutComponent(var1, var2);
- }
-
- return var3;
- }
-
- public synchronized void remove(Component var1) {
- if (var1.parent == this) {
- for(int var2 = 0; var2 < this.ncomponents; ++var2) {
- if (this.component[var2] == var1) {
- if (super.peer != null) {
- var1.removeNotify();
- }
-
- if (this.layoutMgr != null) {
- this.layoutMgr.removeLayoutComponent(var1);
- }
-
- var1.parent = null;
- System.arraycopy(this.component, var2 + 1, this.component, var2, this.ncomponents - var2 - 1);
- this.component[--this.ncomponents] = null;
- ((Component)this).invalidate();
- return;
- }
- }
- }
-
- }
-
- public synchronized void removeAll() {
- Component var1;
- for(; this.ncomponents > 0; var1.parent = null) {
- var1 = this.component[--this.ncomponents];
- this.component[this.ncomponents] = null;
- if (super.peer != null) {
- var1.removeNotify();
- }
-
- if (this.layoutMgr != null) {
- this.layoutMgr.removeLayoutComponent(var1);
- }
- }
-
- ((Component)this).invalidate();
- }
-
- public LayoutManager getLayout() {
- return this.layoutMgr;
- }
-
- public void setLayout(LayoutManager var1) {
- this.layoutMgr = var1;
- ((Component)this).invalidate();
- }
-
- public synchronized void layout() {
- LayoutManager var1 = this.layoutMgr;
- if (var1 != null) {
- var1.layoutContainer(this);
- }
-
- }
-
- public synchronized void validate() {
- super.validate();
-
- for(int var1 = 0; var1 < this.ncomponents; ++var1) {
- Component var2 = this.component[var1];
- if (!var2.valid) {
- var2.validate();
- }
- }
-
- }
-
- public synchronized Dimension preferredSize() {
- LayoutManager var1 = this.layoutMgr;
- return var1 != null ? var1.preferredLayoutSize(this) : super.preferredSize();
- }
-
- public synchronized Dimension minimumSize() {
- LayoutManager var1 = this.layoutMgr;
- return var1 != null ? var1.minimumLayoutSize(this) : super.minimumSize();
- }
-
- public void paintComponents(Graphics var1) {
- for(int var2 = 0; var2 < this.ncomponents; ++var2) {
- Component var3 = this.component[var2];
- if (var3 != null) {
- Graphics var4 = var1.create(var3.x, var3.y, var3.width, var3.height);
-
- try {
- var3.paintAll(var4);
- } finally {
- var4.dispose();
- }
- }
- }
-
- }
-
- public void printComponents(Graphics var1) {
- for(int var2 = 0; var2 < this.ncomponents; ++var2) {
- Component var3 = this.component[var2];
- if (var3 != null) {
- Graphics var4 = var1.create(var3.x, var3.y, var3.width, var3.height);
-
- try {
- var3.printAll(var4);
- } finally {
- var4.dispose();
- }
- }
- }
-
- }
-
- public void deliverEvent(Event var1) {
- Component var2 = this.locate(var1.x, var1.y);
- if (var2 != null && var2 != this) {
- var1.translate(-var2.x, -var2.y);
- var2.deliverEvent(var1);
- } else {
- ((Component)this).postEvent(var1);
- }
- }
-
- public Component locate(int var1, int var2) {
- if (!((Component)this).inside(var1, var2)) {
- return null;
- } else {
- for(int var3 = 0; var3 < this.ncomponents; ++var3) {
- Component var4 = this.component[var3];
- if (var4 != null && var4.inside(var1 - var4.x, var2 - var4.y)) {
- return var4;
- }
- }
-
- return this;
- }
- }
-
- public synchronized void addNotify() {
- for(int var1 = 0; var1 < this.ncomponents; ++var1) {
- this.component[var1].addNotify();
- }
-
- super.addNotify();
- }
-
- public synchronized void removeNotify() {
- for(int var1 = 0; var1 < this.ncomponents; ++var1) {
- this.component[var1].removeNotify();
- }
-
- super.removeNotify();
- }
-
- protected String paramString() {
- String var1 = super.paramString();
- LayoutManager var2 = this.layoutMgr;
- if (var2 != null) {
- var1 = var1 + ",layout=" + var2.getClass().getName();
- }
-
- return var1;
- }
-
- public void list(PrintStream var1, int var2) {
- super.list(var1, var2);
-
- for(int var3 = 0; var3 < this.ncomponents; ++var3) {
- Component var4 = this.component[var3];
- if (var4 != null) {
- var4.list(var1, var2 + 1);
- }
- }
-
- }
- }
-